1. Field of the Invention
The present invention relates to the field of graphical user interfaces (GUIs) within computer systems. The present invention can relate to the field of palmtop computers. Specifically, the present invention discloses an efficient method and apparatus of signaling on the display screen that a particular event has occurred using pre-defined screen attributes.
2. Related Art
As the components required to build a computer system have reduced in size, new categories of computer systems have emerged. One of the new categories of computer systems is the xe2x80x9cpalmtopxe2x80x9d computer system. A palmtop computer system is a computer that is small enough to be held in the hand of a user and can be xe2x80x9cpalm-sized.xe2x80x9d Most palmtop computer systems are used to implement various Personal Information Management (PIM) applications such as an address book, a daily organizer and electronic notepads, to name a few.
Since palmtop computer systems are very small, full-sized keyboards are generally not efficient input devices. Palmtop computers using keyboards have keyboard devices that are so small that a user cannot touch-type. Furthermore, to use a keyboard device, a user must either place the palmtop computer system down onto a flat surface, so the user can type with both hands, or the user holds the palmtop computer system with two hands and types with thumbs only.
Instead of a keyboard device, some palmtop computers utilize a touch screen and display an image of a small keyboard thereon. When a particular button is pressed or tapped, a small keyboard image is displayed on the display screen. The user then interacts with the on-screen small keyboard image to enter characters, usually one character at a time. To interact with the displayed keyboard image (e.g., xe2x80x9cvirtual keyboardxe2x80x9d), the user taps the screen location of a character with a pen. That corresponding character is then recognized and added to a data entry field, also displayed on the screen. However, for experienced users, the virtual keyboard input system can be a tedious input process.
Instead of using a keyboard device or a displayed keyboard, many palmtop computers employ a pen and a digitizer pad as an input system. The pen and digitizer pad combination works well for palmtop computers because the arrangement allows a user to hold the palmtop computer system in one hand while writing with the pen onto the digitizer pad with the other hand.
As technology is progressing, palmtop computers are developing greater display capability, such as: monochrome; gray-scale; and color display is suggested. Within each display capability a variety of display attributes are possible. That is, each shade of gray or each unique color constitutes a distinct display attribute. Application programs utilize these display capabilities in a variety of ways, such as: rendering objects with a display attribute that will cue the user that those objects are selectable; choosing an aesthetically pleasing display; and, organizing the screen information in a more meaningful way. However, the possible display attributes for an object depends upon the display capability of each device. That is, an object can be rendered either a shade of gray or a specific color, depending on the display capability of the device. Thus, the color of the object cannot be known until the screen capability is known. Heretofore, different variations of each application program have been written to accommodate the different display types because there are a number of different display types in the consumer palmtop market. This is inefficient, and will grow more inefficient as palmtop computer displays gain more modes of display.
Signaling a computer user that a particular event has occurred is a desirable function. However, it is difficult to make different information, such as a signal, stand out on the small screen inherent to a palmtop computer. One way to differentiate objects is via color. Unfortunately, color conventions vary in different parts of the world. Furthermore, application programs are designed to run on devices with various display capabilities, as well as devices sold in various countries. Therefore, it is very difficult for the application program to handle the various display permutations. The added complexity not only adds more lines of code and manufacturing problems, but also increases the chance of program errors.
Furthermore, an individual user may wish to change the color of these event signals which appear on the display screen. For example, a certain color may have a special meaning in a given country or be more readable by a given user. Thus, it would be advantageous to provide a more efficient way to signal users of palmtop computers that a particular event has occurred.
Accordingly, what is needed is an effective mechanism and method for signaling on a display screen that a particular event type has occurred. What is further needed is a method that renders an object on the display screen in the appropriate color convention for the country the computer is sold in. What is further needed is a method which allows the user of a computer system to customize the color of the event object. What is further needed is an information display system that is very memory efficient. The present invention provides these advantages and others not specifically mentioned above but described in the sections to follow.
A method and apparatus of signaling a user of a computer system that a particular event has occurred is herein described. The present invention performs this task by using a color table, which contains a list of event types and a corresponding list of display attributes. The application program signals the user that an event has occurred by displaying an event object. The application program obtains the correct display attribute for the event object by calling the color table, giving it the event type. The color table is indexed by the event type and a screen capability flag that is obtained, in one embodiment, from the operating system. The color table provides the display attribute for the specified event type based on the screen capability flag. Advantageously, the application program does not need to know the computer""s display capability or the color conventions of the country the device will be sold in. This information is stored in the color table. Furthermore, the application program needs only one piece of computer code, regardless of the number of countries the device will be sold in or the number of display capabilities which are possible. Thus, memory space in the palmtop is conserved. In another embodiment of the present invention, the application program is allowed to modify the default values of the display attributes in the color table. Thus, an application program could use its own color to display an event object if the default color is undesirable.
In one embodiment, the event type may be that an alarm from a calendar program went off, or that a pre-defined external event happened, or that a stock price hit a target price, or that an error occurred, etc. The color table contains a list of event types, such as alert, warning, caution, and status is OK; as well as a corresponding list of display attributes for each possible type of display which the device could be manufactured with. The event object, which is displayed in association with the occurrence of an event type, is an object such as a menu bar or text, but with the object displayed in a color which has special meaning. For example, an event object could be displayed in red for a warning event type if the display capability is color and dark gray for a gray-scale display. Using the color table, the application program does not need to consider the desired color for the event type. It simply requests that the operating system provide the appropriate display attribute from the color table based on a request to display the event object and given the event type.
In one embodiment of the present invention, the event object is displayed in an appropriate color for the country the computer is sold in. The color table is useful to factory preset PDA warnings using the color conventions of a particular country. For example, the color may be chosen to convey a warning message, such as a conflict in a calendar program. However, this could require different colors for different countries or regions. The present invention assigns an appropriate color to the display attributes in the color table when the computer is manufactured. Therefore, the application program does not need to have knowledge of which country the computer is being sold in or the color conventions of that country. Furthermore, the application program only needs one piece of computer code to perform this taskxe2x80x94regardless of how many countries the device might be sold in. Thus, memory space in the palmtop is conserved.
In another embodiment of the present invention, the application program is allowed to modify the default values of the display attributes in the color table. Thus, an application program could use its own color to display an event object if the default color is undesirable. In yet another embodiment the user may select new display attributes.
In still another embodiment of the present invention, an event external to the computer triggers the process to display the event object. For example, this event type could be a stock price reaching a pre-defined value, or the computer (and thus the user) entering a certain geographic location, based on a GPS message. The event type could be reported to the computer via a modem or wireless transmission.